The Extension Engine

The universal library for all languages everywhere. Maybe.

extensionEngine is a library that provides multiple libraries to any language, without having to write a parser or a compiler.

I love looking at experimental languages, especially ones that explore unusual concepts. But programming languages exist to be used, and can only be truely appreciated by writing a significant program with them. But it's effectively impossible to write a program in a language that doesn't have I/O functions, or networking, or graphics, or a database.

So I wrote an extension engine, that provides multiple libraries for any language that can speak its protocol, which is JSON, for now. Using the extension engine, even new, small languages can provide serious functionality, giving programmers the chance to appreciate the new and interesting concepts that are being explored.

The extension engine runs as a separate program, and can work with any programming language that has i/o. They communicate via a simple protocol, over any kind of socket or pipe. At the moment it supports HTTP, TCP+JSON, and even stdin/stdout like the Model Context Protocol.

The extension engine can run independently and allow many clients to connect at the same time, or a programming language can start a private child instance, and communicate with it over a socket or stdin/stdout.

It is a protocol as much as an implementation. It could be reimplemented quickly in any language, making every part of it replaceable.